package flyrestaurant.jcy.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import flyrestaurant.jcy.App;
import flyrestaurant.jcy.DbHelper;
import flyrestaurant.jcy.HttpUtils;
import flyrestaurant.jcy.entity.Table;

public class TableService {
//	static List<Table> table = new ArrayList<Table>();
//	
//	static {
//		for (int i = 1; i <=20; i++) {
//			Table t = new Table();
//			t.id = i;
//			t.code = "TABLE" + i;
//			t.seats = i % 5 * 2 + 2;
//			t.customers = i % 3 == 0 ? t.seats : 0;
//			t.description = i % 4 == 0 ? "����" : "";
//			table.add(t);
//		}
//	}
//	public List<Table> getTbales(){
//		return table;
//	}
//	DbHelper dbHelper;
//	public TableService(Context context) {
//		dbHelper = new DbHelper(context);
//	}
//	
//	public List<Table> getTables() {
//		List<Table> list = new ArrayList<Table>();
//		SQLiteDatabase db = dbHelper.getWritableDatabase();
//		Cursor cursor = db.query("tables", null, null, null, null, null, null);
//		for (cursor.moveToFirst(); !cursor.isAfterLast();cursor.moveToNext()) {
//			Table t = new Table();
//			t.id = cursor.getInt(0);
//			t.code = cursor.getString(1);
//			t.seats = cursor.getInt(2);
//			t.description = cursor.getString(3);
//			list.add(t);
//		}
//		cursor.close();
//		db.close();
//		return list;
//	}
	App app;
	DbHelper dbHelper;
	
	public TableService(Context context) {
		dbHelper = new DbHelper(context);
		app = (App) context.getApplicationContext();
	}
	
	public List<Table> query(int seats,boolean needEmpty) throws Exception {
		String url = app.serverUrl+ "?/to=queryTable";
		Map<String,String> params = new HashMap<String, String>();
		params.put("seats", seats+"");
		if (needEmpty)
			params.put("needEmpty", "true");
		@SuppressWarnings("unchecked")
		List<Table> tables = (List<Table>) HttpUtils.post(url, params);
		return tables;
	}
	
	public List<Table> getTables(){
		List<Table> list = new ArrayList<Table>();
		SQLiteDatabase db = dbHelper.getWritableDatabase();
		Cursor cursor = db.query("tables", null, null, null, null, null, null);
		for (cursor.moveToFirst(); !cursor.isAfterLast();cursor.moveToNext()) {
			Table t = new Table();
			t.id = cursor.getInt(0);
			t.code = cursor.getString(1);
			t.seats = cursor.getInt(2);
			t.description = cursor.getString(3);
			list.add(t);
		}
		cursor.close();
		db.close();
		return list;

	}
	
}

